From cc4280de0ba737c479cd1942d03aaa4023370229 Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild.aw" Date: Sun, 1 Oct 2006 11:09:54 -0600 Subject: [PATCH] [IA64] do not export XSI_BASE, use set_shared_info_va Until now, the set_shared_info_va hypercall was never used. This patch remove XSI_BASE and use this hypercall to set the xsi address. Because xsi is now in the top 1MB (before percpu space), linux code should be slightly more compact (addl instead of movl). Signed-off-by: Tristan Gingold --- linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S | 7 +++---- linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h | 3 --- xen/include/public/arch-ia64.h | 4 ---- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S b/linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S index 918622918e..71b6794c2a 100644 --- a/linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S +++ b/linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S @@ -23,12 +23,11 @@ GLOBAL_ENTRY(early_xen_setup) mov cr.iva=r10 -#if XSI_BASE != 0xf100000000000000UL - /* Backward compatibility. */ -(isBP) mov r2=0x600 + /* Set xsi base. */ +#define FW_HYPERCALL_SET_SHARED_INFO_VA 0x600 +(isBP) mov r2=FW_HYPERCALL_SET_SHARED_INFO_VA (isBP) movl r28=XSI_BASE;; (isBP) break 0x1000;; -#endif br.ret.sptk.many rp ;; diff --git a/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h b/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h index 073b3a2a77..6f3c20a8ed 100644 --- a/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h +++ b/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h @@ -14,12 +14,9 @@ #define IA64_PARAVIRTUALIZED -#if 0 -#undef XSI_BASE /* At 1 MB, before per-cpu space but still addressable using addl instead of movl. */ #define XSI_BASE 0xfffffffffff00000 -#endif /* Address of mapped regs. */ #define XMAPPEDREGS_BASE (XSI_BASE + XSI_SIZE) diff --git a/xen/include/public/arch-ia64.h b/xen/include/public/arch-ia64.h index 98bda1d241..4963952215 100644 --- a/xen/include/public/arch-ia64.h +++ b/xen/include/public/arch-ia64.h @@ -395,10 +395,6 @@ struct xen_ia64_boot_param { #endif /* !__ASSEMBLY__ */ -/* Address of shared_info in domain virtual space. - This is the default address, for compatibility only. */ -#define XSI_BASE 0xf100000000000000 - /* Size of the shared_info area (this is not related to page size). */ #define XSI_SHIFT 14 #define XSI_SIZE (1 << XSI_SHIFT) -- 2.30.2